package com.ruoyi.function.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 系统充值订单对象 sys_top_up
 * 
 * @author ruoyi
 * @date 2025-03-20
 */
public class SysTopUp extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 充值订单号 */
    private Long topUpId;

    /** 第三方支付系统生成的订单号 */
    @Excel(name = "第三方支付系统生成的订单号")
    private String transactionId;

    /** 支付完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "支付完成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date successTime;

    /** 订单总金额，单位为元 */
    @Excel(name = "订单总金额，单位为元")
    private BigDecimal total;

    /** 用户支付金额 */
    @Excel(name = "用户支付金额")
    private BigDecimal payerTotal;

    /** 用户支付币种 */
    @Excel(name = "用户支付币种")
    private String payerCurrency;

    /** 支付类型 字典值 */
    @Excel(name = "支付类型 字典值")
    private String payWay;

    /** 订单状态 1:未交易  2交易完成  3:已退款 */
    @Excel(name = "订单状态 1:未交易  2交易完成  3:已退款")
    private String status;

    /** 交易状态 */
    @Excel(name = "交易状态")
    private String tradeState;

    /** 订单json */
    @Excel(name = "订单json")
    private String orderJson;

    /** 业务订单类型 */
    @Excel(name = "业务订单类型")
    private String orderType;

    /** 创建部门 */
    @Excel(name = "创建部门")
    private Long createDept;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    public void setTopUpId(Long topUpId) 
    {
        this.topUpId = topUpId;
    }

    public Long getTopUpId() 
    {
        return topUpId;
    }

    public void setTransactionId(String transactionId) 
    {
        this.transactionId = transactionId;
    }

    public String getTransactionId() 
    {
        return transactionId;
    }

    public void setSuccessTime(Date successTime) 
    {
        this.successTime = successTime;
    }

    public Date getSuccessTime() 
    {
        return successTime;
    }

    public void setTotal(BigDecimal total) 
    {
        this.total = total;
    }

    public BigDecimal getTotal() 
    {
        return total;
    }

    public void setPayerTotal(BigDecimal payerTotal) 
    {
        this.payerTotal = payerTotal;
    }

    public BigDecimal getPayerTotal() 
    {
        return payerTotal;
    }

    public void setPayerCurrency(String payerCurrency) 
    {
        this.payerCurrency = payerCurrency;
    }

    public String getPayerCurrency() 
    {
        return payerCurrency;
    }

    public void setPayWay(String payWay) 
    {
        this.payWay = payWay;
    }

    public String getPayWay() 
    {
        return payWay;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    public void setTradeState(String tradeState) 
    {
        this.tradeState = tradeState;
    }

    public String getTradeState() 
    {
        return tradeState;
    }

    public void setOrderJson(String orderJson) 
    {
        this.orderJson = orderJson;
    }

    public String getOrderJson() 
    {
        return orderJson;
    }

    public void setOrderType(String orderType) 
    {
        this.orderType = orderType;
    }

    public String getOrderType() 
    {
        return orderType;
    }

    public void setCreateDept(Long createDept) 
    {
        this.createDept = createDept;
    }

    public Long getCreateDept() 
    {
        return createDept;
    }

    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("topUpId", getTopUpId())
            .append("transactionId", getTransactionId())
            .append("successTime", getSuccessTime())
            .append("total", getTotal())
            .append("payerTotal", getPayerTotal())
            .append("payerCurrency", getPayerCurrency())
            .append("payWay", getPayWay())
            .append("status", getStatus())
            .append("tradeState", getTradeState())
            .append("orderJson", getOrderJson())
            .append("orderType", getOrderType())
            .append("createDept", getCreateDept())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("delFlag", getDelFlag())
            .toString();
    }
}
